// const debouce = <T extends (...args: any) => void>(
//   fun: T,
//   time: number = 50
// ): ((...args: Parameters<T>) => void) => {
//   let timer: any = 0;
//   return function (...args: Parameters<T>) {
//     if (timer) clearTimeout(timer);
//     timer = setTimeout(() => {
//       fun.apply(fun, args);
//     }, time);
//   };
// };

// const debouce = <T extends Function>(
//   fun: T,
//   time: number = 50
// ): ((...args: Parameters<T>) => void) => {
//   let timer: number = 0;
//   return function (...args: Parameters<T>) {
//     if (timer) clearTimeout(timer);
//     timer = setTimeout(() => {
//       fun.apply(fun, args);
//     }, time);
//   };
// };

// function con() {
//   console.log(1);
// }

// // 调用防抖函数
// debouce(con, 1000)();
